﻿using System.Collections.Generic;

namespace JH
{
    /// <summary>
    ///  数据处理器接口，用于在数据变动后，对数据进行二次加工
    /// </summary>
    /// <typeparam name="TPoint">数据点类型</typeparam>
    public interface IDataProcessor<TPoint> : IChartBase
        where TPoint : struct
    {
        /// <summary>
        ///  数据处理器列表
        /// </summary>
        public IProcessor<TPoint>[]  Processors { get; }

        /// <summary>
        ///  获取指定类型的处理器
        /// </summary>
        /// <typeparam name="TProcessor">指定数据处理器类型</typeparam>
        public TProcessor GetProcessor<TProcessor>() where TProcessor : class, IProcessor<TPoint>;
    }
}